#include <gmock/gmock.h>
#include <string>
#include <vector>
#include <map>

std::string Foo() {
    return "Hello";
}

TEST(FooTest, HandleOutput
) {
    EXPECT_THAT(Foo(), testing::StartsWith("Hello"));
    std::vector<int> a = {5, 10, 15};
    ASSERT_THAT(a, testing::ElementsAre(5, 10, 15));
    std::map<int, int> b = {{1, 10},
                            {2, 20}};
    ASSERT_THAT(b, testing::ElementsAre(testing::Pair(1, 10), testing::Pair(2, 20)));
    ASSERT_THAT(b, testing::ElementsAre(testing::Pair(2, 20), testing::Pair(1, 10)));
}